{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第二周基础作业\n",
    "\n",
    "## 1. 画图解释图像卷积滤波的基本原理，并进一步简述常见的图像平滑滤波算法。\n",
    "答：卷积滤波可以允许我们对图像进行处理，将一个二维的滤波器矩阵（卷积核）和一个要处理的二维图像。然后，对于图像的每一个像素点，计算它的邻域像素和滤波器矩阵的对应元素的乘积，然后加起来，作为该像素位置的值。这样就完成了滤波过程。过程如图：\n",
    "![avatar](https://img-blog.csdn.net/20151012211045222?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)\n",
    "常见的平滑滤波算法有：\n",
    "1. 平均滤波：在一个小区域内，通常3*3 像素值平均\n",
    "2. 加权平均滤波：在一个小区域内，通常3*3 像素值加权平均，类似草帽形状——中间的绝对值大于边界的绝对值\n",
    "3. 中值滤波：确定窗口及位置（四领域或者八领域等），窗口内像素按照灰度大小排序，然后将中间值代替原窗口中心像素值。\n",
    "\n",
    "## 2.简述边缘检测的基本原理，以及Sobel、LoG和Canny算子的原理差异。\n",
    " 答：边缘检测的本质是微（差）分，通常通过判断一阶导数和二阶导数的零点来判断是否检测到边缘。\n",
    "Sobel算子有两个，分别对应的X方向和Y方向求取边缘的卷积核。X算子的零的方向是垂直的，Y算子的零的方向是水平的。\n",
    "Canny算子是能够解决传统算子存在的噪声，断裂和虚检的问题。它的主要步骤：先平滑图像同时计算微分，然后计算梯度，接着做梯度幅值进行非极大值抑制，最后做边缘连接。\n",
    "\n",
    "## 3. 简述图像直方图的基本概念，及使用大津算法进行图像分割的基本原理。 \n",
    " 答：灰度直方图是指根据图像中灰度像素的灰度值的频次来做的统计直方图。大津算法的目的是确定最佳阈值，使背景和目标之间的类间方差最大。具体的实现原理是遍历灰度取值，从1到244找到最大的类间方差，然后确定最佳阈值。\n",
    "\n",
    "## 4. 简述Harris算子对角点的定义，进行角点检测的基本原理，并说明引入角点响应函数的意义。 \n",
    "答：Harris算子对角点的定义是任意方向的灰度积分剧烈变化。基本原理是将原图向一个方向偏移一个很小的距离，然后根据泰勒展开式取一次向最后得到一个二次型。这个二次型可以看做是一个椭圆。再根据二次型来求得他的特征值，这两个特征值开更号便是椭圆的长短轴。当长短轴都比较小时说明点处于平滑区域，当长短轴相差很大时，说明点为边界像素，长短轴都比较大时说明点处于角点。因为“大”，“小”都是很主观的概念，所以引入角点响应函数的意义在于它能够相对客观的去判断点是否为角点。\n",
    "\n",
    "## 5. 简述Hough变换的基本原理(包括参数空间变换及参数空间划分网格统计)。 \n",
    "答：采用参数空间变换的方法，将正交直角坐标系下的直线y=kx+b 转换成极坐标下的一个点（$\\rho$，$\\theta$），将正交直角坐标系下的点转换到极坐标下的一条正弦曲线$\\rho$ = xcos$\\theta$ + ysin$\\theta$，进而根据同一条直线上的多个点在极坐标系下必相交于一点，把（$\\rho$，$\\theta$）空间量化成很多小格子，根据x-y平面每一个直线点带入$\\theta$的量化值，算出各个$\\rho$，将对应格计数相加，当全部点变换后，对小格进行检验，设置累计阈值T，计数大于T的小哥对应于共线点，拟合直线；小于T的丢弃不用。\n",
    "\n",
    "## 6. 简述SIFT原理(重点是尺度空间和方向直方图原理)及ORB算子原理(重点是FAST和BRIEF)。\n",
    "答：尺度空间的原理是通过高斯函数与原图像卷积，并经过下采样，建立原始图像的尺度空间模型。或者在图像信息处理模型中，引入一个被视为尺度的参数，通过连续变化尺度参数获得多尺度下的尺度空间表示序列，对这些序列进行尺度空间主轮廓的提取，并以该主轮廓作为一种特征向量，实现边缘、角点检测和不同分辨率上的特征提取。ORB是一种快速特征点提取和描述的算法。它分为两个部分，分别是特征点提取和特征点描述。特征点提取时利用FAST算法：从图像中选取一点P，以P为圆心画一个半径为3像素的圆。圆周上如果有连续N个像素点的灰度值比P点的灰度值大或小，则认为P点是特征点，这就是FAST-N，然后再用机器学习的方法筛选最优特征点使用非极大值抑制算法去除临近位置多个特征点，最后建立金字塔来实现特征点多尺度不变性。特征描述是由BRIEF算法改进的，BRIEF算法：以关键点为圆心，以d为半径做圆，在圆内取N个点对判断每个点对中前一个点比后一个点大还是小，最后形成二进制的描述子。rBRIEF算法是建立30万个特征点的测试集，对于测试集的每个点考虑31* 31的领域，在对图像平滑之后，，使用领域中的某个点的5 * 5 邻域灰度平均值来代替某个点的值，进而比较点对的大小。使用积分图像加快求取灰度平均值得速度，在729个子窗口中，选取相关性最小的256种取法。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
